<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /usr/include/math.h</title>
  </head>
  <body>
    <h1>File: /usr/include/math.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * Copyright (c) 2002-2015 Apple Inc. All rights reserved.</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * @APPLE_LICENSE_HEADER_START@</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * </span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * The contents of this file constitute Original Code as defined in and</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * are subject to the Apple Public Source License Version 1.1 (the</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * &quot;License&quot;).  You may not use this file except in compliance with the</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * License.  Please obtain a copy of the License at</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * http://www.apple.com/publicsource and read it before using this file.</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * </span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * This Original Code and all software distributed under the License are</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * distributed on an &quot;AS IS&quot; basis, WITHOUT WARRANTY OF ANY KIND, EITHER</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * License for the specific language governing rights and limitations</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * under the License.</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * </span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * @APPLE_LICENSE_HEADER_END@</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> */</span>
<a name="22" /><span class="True">      22:</span> 
<a name="23" /><span class="True">      23:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="macros_noref.html#_X19NQVRIX0hfX18w"><span class="b">__MATH_H__</span></a>
<a name="24" /><span class="True">      24:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_X19NQVRIX0hfX18w"><span class="b">__MATH_H__</span></a>
<a name="25" /><span class="True">      25:</span> 
<a name="26" /><span class="True">      26:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="macros_noref.html#_X19NQVRIX19fMA__"><span class="b">__MATH__</span></a>
<a name="27" /><span class="True">      27:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_X19NQVRIX19fMA__"><span class="b">__MATH__</span></a>
<a name="28" /><span class="True">      28:</span> <span class="f">#</span><span class="n">endif</span>
<a name="29" /><span class="True">      29:</span> 
<a name="30" /><span class="True">      30:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">cdefs</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="31" /><span class="True">      31:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">Availability</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="32" /><span class="True">      32:</span> 
<a name="33" /><span class="True">      33:</span> <a href="macros_ref.html#_X19CRUdJTl9ERUNMU18w"><span class="b">__BEGIN_DECLS</span></a>
<a name="34" /><span class="True">      34:</span> 
<a name="35" /><span class="True">      35:</span> <span class="k">/******************************************************************************</span>
<a name="36" /><span class="True">      36:</span> <span class="k"> * Floating point data types                                                  *</span>
<a name="37" /><span class="True">      37:</span> <span class="k"> ******************************************************************************/</span>
<a name="38" /><span class="True">      38:</span> 
<a name="39" /><span class="True">      39:</span> <span class="k">/*  Define float_t and double_t per C standard, ISO/IEC 9899:2011 7.12 2,</span>
<a name="40" /><span class="True">      40:</span> <span class="k">    taking advantage of GCC&apos;s __FLT_EVAL_METHOD__ (which a compiler may</span>
<a name="41" /><span class="True">      41:</span> <span class="k">    define anytime and GCC does) that shadows FLT_EVAL_METHOD (which a</span>
<a name="42" /><span class="True">      42:</span> <span class="k">    compiler must define only in float.h).                                    */</span>
<a name="43" /><span class="True">      43:</span> <span class="f">#</span><span class="n">if</span> <span class="b">__FLT_EVAL_METHOD__</span> <span class="f">==</span> <span class="c">0</span>
<a name="44" /><span class="True">      44:</span>     <span class="m">typedef</span> <span class="m">float</span> <span class="b">float_t</span><span class="f">;</span>
<a name="45" /><span class="True">      45:</span>     <span class="m">typedef</span> <span class="m">double</span> <span class="b">double_t</span><span class="f">;</span>
<a name="46" /><span class="False">      46:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">__FLT_EVAL_METHOD__</span> <span class="f">==</span> <span class="c">1</span>
<a name="47" /><span class="False">      47:</span>     <span class="m">typedef</span> <span class="m">double</span> <span class="b">float_t</span><span class="f">;</span>
<a name="48" /><span class="False">      48:</span>     <span class="m">typedef</span> <span class="m">double</span> <span class="b">double_t</span><span class="f">;</span>
<a name="49" /><span class="False">      49:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">__FLT_EVAL_METHOD__</span> <span class="f">==</span> <span class="c">2</span> <span class="f">||</span> <span class="b">__FLT_EVAL_METHOD__</span> <span class="f">==</span> <span class="f">-</span><span class="c">1</span>
<a name="50" /><span class="False">      50:</span>     <span class="m">typedef</span> <span class="m">long</span> <span class="m">double</span> <span class="b">float_t</span><span class="f">;</span>
<a name="51" /><span class="False">      51:</span>     <span class="m">typedef</span> <span class="m">long</span> <span class="m">double</span> <span class="b">double_t</span><span class="f">;</span>
<a name="52" /><span class="False">      52:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* __FLT_EVAL_METHOD__ */</span>
<a name="53" /><span class="False">      53:</span> <span class="f">#</span>   <span class="n">error</span> <span class="e">&quot;Unsupported value of __FLT_EVAL_METHOD__.&quot;</span>
<a name="54" /><span class="True">      54:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* __FLT_EVAL_METHOD__ */</span>
<a name="55" /><span class="True">      55:</span> 
<a name="56" /><span class="True">      56:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span>
<a name="57" /><span class="True">      57:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_SFVHRV9WQUxfMA__"><span class="b">HUGE_VAL</span></a>     <span class="b">__builtin_huge_val</span><span class="f">(</span><span class="f">)</span>
<a name="58" /><span class="True">      58:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_SFVHRV9WQUxGXzA_"><span class="b">HUGE_VALF</span></a>    <span class="b">__builtin_huge_valf</span><span class="f">(</span><span class="f">)</span>
<a name="59" /><span class="True">      59:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_SFVHRV9WQUxMXzA_"><span class="b">HUGE_VALL</span></a>    <span class="b">__builtin_huge_vall</span><span class="f">(</span><span class="f">)</span>
<a name="60" /><span class="True">      60:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_TkFOXzA_"><span class="b">NAN</span></a>          <span class="b">__builtin_nanf</span><span class="f">(</span><span class="e">&quot;0x7fc00000&quot;</span><span class="f">)</span>
<a name="61" /><span class="False">      61:</span> <span class="f">#</span><span class="n">else</span>
<a name="62" /><span class="False">      62:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_SFVHRV9WQUxfMA__"><span class="b">HUGE_VAL</span></a>     <span class="c">1e500</span>
<a name="63" /><span class="False">      63:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_SFVHRV9WQUxGXzA_"><span class="b">HUGE_VALF</span></a>    <span class="c">1e50f</span>
<a name="64" /><span class="False">      64:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_SFVHRV9WQUxMXzA_"><span class="b">HUGE_VALL</span></a>    <span class="c">1e5000L</span>
<a name="65" /><span class="False">      65:</span> <span class="f">#</span>   <span class="n">define</span>    <a href="macros_noref.html#_TkFOXzA_"><span class="b">NAN</span></a>          <span class="b">__nan</span><span class="f">(</span><span class="f">)</span>
<a name="66" /><span class="True">      66:</span> <span class="f">#</span><span class="n">endif</span>
<a name="67" /><span class="True">      67:</span> 
<a name="68" /><span class="True">      68:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_SU5GSU5JVFlfMA__"><span class="b">INFINITY</span></a>    <a href="macros_noref.html#_SFVHRV9WQUxGXzA_"><span class="b">HUGE_VALF</span></a>
<a name="69" /><span class="True">      69:</span> 
<a name="70" /><span class="True">      70:</span> <span class="k">/******************************************************************************</span>
<a name="71" /><span class="True">      71:</span> <span class="k"> *      Taxonomy of floating point data types                                 *</span>
<a name="72" /><span class="True">      72:</span> <span class="k"> ******************************************************************************/</span>
<a name="73" /><span class="True">      73:</span> 
<a name="74" /><span class="True">      74:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfTkFOXzA_"><span class="b">FP_NAN</span></a>          <span class="c">1</span>
<a name="75" /><span class="True">      75:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfSU5GSU5JVEVfMA__"><span class="b">FP_INFINITE</span></a>     <span class="c">2</span>
<a name="76" /><span class="True">      76:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfWkVST18w"><span class="b">FP_ZERO</span></a>         <span class="c">3</span>
<a name="77" /><span class="True">      77:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfTk9STUFMXzA_"><span class="b">FP_NORMAL</span></a>       <span class="c">4</span>
<a name="78" /><span class="True">      78:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfU1VCTk9STUFMXzA_"><span class="b">FP_SUBNORMAL</span></a>    <span class="c">5</span>
<a name="79" /><span class="True">      79:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfU1VQRVJOT1JNQUxfMA__"><span class="b">FP_SUPERNORMAL</span></a>  <span class="c">6</span> <span class="k">/* legacy PowerPC support; this is otherwise unused */</span>
<a name="80" /><span class="True">      80:</span> 
<a name="81" /><span class="False">      81:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span> <span class="b">__arm64__</span> <span class="f">||</span> <span class="b">defined</span> <span class="b">__ARM_VFPV4__</span>
<a name="82" /><span class="False">      82:</span> <span class="k">/*  On these architectures, fma(), fmaf( ), and fmal( ) are generally about as</span>
<a name="83" /><span class="False">      83:</span> <span class="k">    fast as (or faster than) separate multiply and add of the same operands.  */</span>
<a name="84" /><span class="False">      84:</span> <span class="f">#</span>   <span class="n">define</span> <span class="b">FP_FAST_FMA</span>     <span class="c">1</span>
<a name="85" /><span class="False">      85:</span> <span class="f">#</span>   <span class="n">define</span> <span class="b">FP_FAST_FMAF</span>    <span class="c">1</span>
<a name="86" /><span class="False">      86:</span> <span class="f">#</span>   <span class="n">define</span> <span class="b">FP_FAST_FMAL</span>    <span class="c">1</span>
<a name="87" /><span class="False">      87:</span> <span class="f">#</span><span class="n">elif</span> <span class="f">(</span><span class="b">defined</span> <span class="b">__i386__</span> <span class="f">||</span> <span class="b">defined</span> <a href="macros_ref.html#_X194ODZfNjRfX18w"><span class="b">__x86_64__</span></a><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">defined</span> <span class="b">__FMA__</span>
<a name="88" /><span class="False">      88:</span> <span class="k">/*  When targeting the FMA ISA extension, fma() and fmaf( ) are generally</span>
<a name="89" /><span class="False">      89:</span> <span class="k">    about as fast as (or faster than) separate multiply and add of the same</span>
<a name="90" /><span class="False">      90:</span> <span class="k">    operands, but fmal( ) may be more costly.                                 */</span>
<a name="91" /><span class="False">      91:</span> <span class="f">#</span>   <span class="n">define</span> <span class="b">FP_FAST_FMA</span>     <span class="c">1</span>
<a name="92" /><span class="False">      92:</span> <span class="f">#</span>   <span class="n">define</span> <span class="b">FP_FAST_FMAF</span>    <span class="c">1</span>
<a name="93" /><span class="False">      93:</span> <span class="f">#</span>   <span class="n">undef</span>  <span class="b">FP_FAST_FMAL</span>
<a name="94" /><span class="True">      94:</span> <span class="f">#</span><span class="n">else</span>
<a name="95" /><span class="True">      95:</span> <span class="k">/*  On these architectures, fma( ), fmaf( ), and fmal( ) function calls are</span>
<a name="96" /><span class="True">      96:</span> <span class="k">    significantly more costly than separate multiply and add operations.      */</span>
<a name="97" /><span class="True">      97:</span> <span class="f">#</span>   <span class="n">undef</span>  <span class="b">FP_FAST_FMA</span>
<a name="98" /><span class="True">      98:</span> <span class="f">#</span>   <span class="n">undef</span>  <span class="b">FP_FAST_FMAF</span>
<a name="99" /><span class="True">      99:</span> <span class="f">#</span>   <span class="n">undef</span>  <span class="b">FP_FAST_FMAL</span>
<a name="100" /><span class="True">     100:</span> <span class="f">#</span><span class="n">endif</span>
<a name="101" /><span class="True">     101:</span> 
<a name="102" /><span class="True">     102:</span> <span class="k">/* The values returned by `ilogb&apos; for 0 and NaN respectively. */</span>
<a name="103" /><span class="True">     103:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfSUxPR0IwXzA_"><span class="b">FP_ILOGB0</span></a>      <span class="f">(</span><span class="f">-</span><span class="c">2147483647</span> <span class="f">-</span> <span class="c">1</span><span class="f">)</span>
<a name="104" /><span class="True">     104:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfSUxPR0JOQU5fMA__"><span class="b">FP_ILOGBNAN</span></a>    <span class="f">(</span><span class="f">-</span><span class="c">2147483647</span> <span class="f">-</span> <span class="c">1</span><span class="f">)</span>
<a name="105" /><span class="True">     105:</span> 
<a name="106" /><span class="True">     106:</span> <span class="k">/* Bitmasks for the math_errhandling macro.  */</span>
<a name="107" /><span class="True">     107:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TUFUSF9FUlJOT18w"><span class="b">MATH_ERRNO</span></a>        <span class="c">1</span>    <span class="k">/* errno set by math functions.  */</span>
<a name="108" /><span class="True">     108:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TUFUSF9FUlJFWENFUFRfMA__"><span class="b">MATH_ERREXCEPT</span></a>    <span class="c">2</span>    <span class="k">/* Exceptions raised by math functions.  */</span>
<a name="109" /><span class="True">     109:</span> 
<a name="110" /><span class="True">     110:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_bWF0aF9lcnJoYW5kbGluZ18w"><span class="b">math_errhandling</span></a> <span class="f">(</span><span class="b">__math_errhandling</span><span class="f">(</span><span class="f">)</span><span class="f">)</span>
<a name="111" /><span class="True">     111:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__math_errhandling</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="112" /><span class="True">     112:</span> 
<a name="113" /><span class="True">     113:</span> <span class="k">/******************************************************************************</span>
<a name="114" /><span class="True">     114:</span> <span class="k"> *                                                                            *</span>
<a name="115" /><span class="True">     115:</span> <span class="k"> *                              Inquiry macros                                *</span>
<a name="116" /><span class="True">     116:</span> <span class="k"> *                                                                            *</span>
<a name="117" /><span class="True">     117:</span> <span class="k"> *  fpclassify      Returns one of the FP_* values.                           *</span>
<a name="118" /><span class="True">     118:</span> <span class="k"> *  isnormal        Non-zero if and only if the argument x is normalized.     *</span>
<a name="119" /><span class="True">     119:</span> <span class="k"> *  isfinite        Non-zero if and only if the argument x is finite.         *</span>
<a name="120" /><span class="True">     120:</span> <span class="k"> *  isnan           Non-zero if and only if the argument x is a NaN.          *</span>
<a name="121" /><span class="True">     121:</span> <span class="k"> *  signbit         Non-zero if and only if the sign of the argument x is     *</span>
<a name="122" /><span class="True">     122:</span> <span class="k"> *                  negative.  This includes, NaNs, infinities and zeros.     *</span>
<a name="123" /><span class="True">     123:</span> <span class="k"> *                                                                            *</span>
<a name="124" /><span class="True">     124:</span> <span class="k"> ******************************************************************************/</span>
<a name="125" /><span class="True">     125:</span> 
<a name="126" /><span class="False">     126:</span> <span class="f">#</span><span class="n">if</span> <span class="f">(</span><span class="b">defined</span> <span class="b">__MAC_OS_X_VERSION_MIN_REQUIRED</span> <span class="f">&amp;&amp;</span> <span class="b">__MAC_OS_X_VERSION_MIN_REQUIRED</span> <span class="f">&lt;</span> <span class="c">1080</span><span class="f">)</span> <span class="f">||</span> \
<a name="127" /><span class="False">     127:</span>     <span class="f">(</span><span class="b">defined</span> <span class="b">__IPHONE_OS_VERSION_MIN_REQUIRED</span> <span class="f">&amp;&amp;</span> <span class="b">__IPHONE_OS_VERSION_MIN_REQUIRED</span> <span class="f">&lt;</span> <span class="c">60000</span><span class="f">)</span>
<a name="128" /><span class="False">     128:</span> <span class="f">#</span>   <span class="n">if</span> <span class="b">defined</span> <span class="b">__i386__</span> <span class="f">||</span> <span class="b">defined</span> <a href="macros_ref.html#_X194ODZfNjRfX18w"><span class="b">__x86_64__</span></a>
<a name="129" /><span class="False">     129:</span> <span class="f">#</span>       <span class="n">define</span> <span class="b">__fpclassifyl</span> <span class="b">__fpclassify</span>
<a name="130" /><span class="False">     130:</span> <span class="f">#</span>       <span class="n">define</span> <span class="b">__isnormall</span>   <span class="b">__isnormal</span>
<a name="131" /><span class="False">     131:</span> <span class="f">#</span>       <span class="n">define</span> <span class="b">__isfinitel</span>   <span class="b">__isfinite</span>
<a name="132" /><span class="False">     132:</span> <span class="f">#</span>       <span class="n">define</span> <span class="b">__isinfl</span>      <span class="b">__isinf</span>
<a name="133" /><span class="False">     133:</span> <span class="f">#</span>       <span class="n">define</span> <span class="b">__isnanl</span>      <span class="b">__isnan</span>
<a name="134" /><span class="False">     134:</span> <span class="f">#</span>   <span class="n">elif</span> <span class="b">defined</span> <span class="b">__arm__</span>
<a name="135" /><span class="False">     135:</span> <span class="f">#</span>       <span class="n">define</span> <span class="b">__fpclassifyd</span> <span class="b">__fpclassify</span>
<a name="136" /><span class="False">     136:</span> <span class="f">#</span>   <span class="n">endif</span>
<a name="137" /><span class="True">     137:</span> <span class="f">#</span><span class="n">endif</span>
<a name="138" /><span class="True">     138:</span> 
<a name="139" /><span class="True">     139:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_ZnBjbGFzc2lmeV8w"><span class="b">fpclassify</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                    \
<a name="140" /><span class="True">     140:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__fpclassifyf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>            \
<a name="141" /><span class="True">     141:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__fpclassifyd</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>           \
<a name="142" /><span class="True">     142:</span>                                   <span class="f">:</span> <span class="b">__fpclassifyl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="143" /><span class="True">     143:</span> 
<a name="144" /><span class="True">     144:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__fpclassifyf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="145" /><span class="True">     145:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__fpclassifyd</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="146" /><span class="True">     146:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__fpclassifyl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="147" /><span class="True">     147:</span> 
<a name="148" /><span class="True">     148:</span> <span class="f">#</span><span class="n">if</span> <span class="f">(</span><span class="b">defined</span><span class="f">(</span><a href="macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="c">0</span> <span class="f">==</span> <span class="b">__FINITE_MATH_ONLY__</span><span class="f">)</span> <span class="f">||</span> \
<a name="149" /><span class="True">     149:</span>     <span class="f">(</span><span class="b">defined</span> <span class="b">__IPHONE_OS_VERSION_MIN_REQUIRED</span> <span class="f">&amp;&amp;</span> <span class="b">__IPHONE_OS_VERSION_MIN_REQUIRED</span> <span class="f">&lt;</span> <span class="c">60000</span> <span class="f">&amp;&amp;</span> <span class="b">defined</span> <span class="b">__arm__</span><span class="f">)</span>
<a name="150" /><span class="True">     150:</span> <span class="k">/*  These inline functions may fail to return expected results if unsafe</span>
<a name="151" /><span class="True">     151:</span> <span class="k">    math optimizations like those enabled by -ffast-math are turned on.</span>
<a name="152" /><span class="True">     152:</span> <span class="k">    Thus, (somewhat surprisingly) you only get the fast inline</span>
<a name="153" /><span class="True">     153:</span> <span class="k">    implementations if such compiler options are NOT enabled.  This is</span>
<a name="154" /><span class="True">     154:</span> <span class="k">    because the inline functions require the compiler to be adhering to</span>
<a name="155" /><span class="True">     155:</span> <span class="k">    the standard in order to work properly; -ffast-math, among other</span>
<a name="156" /><span class="True">     156:</span> <span class="k">    things, implies that NaNs don&apos;t happen, which allows the compiler to</span>
<a name="157" /><span class="True">     157:</span> <span class="k">    optimize away checks like x != x, which might lead to things like</span>
<a name="158" /><span class="True">     158:</span> <span class="k">    isnan(NaN) returning false.                                               </span>
<a name="159" /><span class="True">     159:</span> <span class="k"> </span>
<a name="160" /><span class="True">     160:</span> <span class="k">    Thus, if you compile with -ffast-math, actual function calls are</span>
<a name="161" /><span class="True">     161:</span> <span class="k">    generated for these utilities.                                            */</span>
<a name="162" /><span class="True">     162:</span>     
<a name="163" /><span class="True">     163:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNub3JtYWxfMA__"><span class="b">isnormal</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                      \
<a name="164" /><span class="True">     164:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__inline_isnormalf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>       \
<a name="165" /><span class="True">     165:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__inline_isnormald</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>      \
<a name="166" /><span class="True">     166:</span>                                   <span class="f">:</span> <span class="b">__inline_isnormall</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="167" /><span class="True">     167:</span> 
<a name="168" /><span class="True">     168:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNmaW5pdGVfMA__"><span class="b">isfinite</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                      \
<a name="169" /><span class="True">     169:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__inline_isfinitef</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>       \
<a name="170" /><span class="True">     170:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__inline_isfinited</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>      \
<a name="171" /><span class="True">     171:</span>                                   <span class="f">:</span> <span class="b">__inline_isfinitel</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="172" /><span class="True">     172:</span> 
<a name="173" /><span class="True">     173:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNpbmZfMA__"><span class="b">isinf</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                         \
<a name="174" /><span class="True">     174:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__inline_isinff</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>          \
<a name="175" /><span class="True">     175:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__inline_isinfd</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>         \
<a name="176" /><span class="True">     176:</span>                                   <span class="f">:</span> <span class="b">__inline_isinfl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="177" /><span class="True">     177:</span> 
<a name="178" /><span class="True">     178:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNuYW5fMA__"><span class="b">isnan</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                         \
<a name="179" /><span class="True">     179:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__inline_isnanf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>          \
<a name="180" /><span class="True">     180:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__inline_isnand</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>         \
<a name="181" /><span class="True">     181:</span>                                   <span class="f">:</span> <span class="b">__inline_isnanl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="182" /><span class="True">     182:</span> 
<a name="183" /><span class="True">     183:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_c2lnbmJpdF8w"><span class="b">signbit</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                       \
<a name="184" /><span class="True">     184:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__inline_signbitf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>        \
<a name="185" /><span class="True">     185:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__inline_signbitd</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>       \
<a name="186" /><span class="True">     186:</span>                                   <span class="f">:</span> <span class="b">__inline_signbitl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="187" /><span class="True">     187:</span> 
<a name="188" /><span class="True">     188:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isfinitef</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="189" /><span class="True">     189:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isfinited</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="190" /><span class="True">     190:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isfinitel</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="191" /><span class="True">     191:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isinff</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="192" /><span class="True">     192:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isinfd</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="193" /><span class="True">     193:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isinfl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="194" /><span class="True">     194:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnanf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="195" /><span class="True">     195:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnand</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="196" /><span class="True">     196:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnanl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="197" /><span class="True">     197:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnormalf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="198" /><span class="True">     198:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnormald</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="199" /><span class="True">     199:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnormall</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="200" /><span class="True">     200:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="201" /><span class="True">     201:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitd</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="202" /><span class="True">     202:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="203" /><span class="True">     203:</span>     
<a name="204" /><span class="True">     204:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isfinitef</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="205" /><span class="True">     205:</span>     <span class="m">return</span> <span class="b">__x</span> <span class="f">==</span> <span class="b">__x</span> <span class="f">&amp;&amp;</span> <span class="b">__builtin_fabsf</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">!=</span> <span class="b">__builtin_inff</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="206" /><span class="True">     206:</span> <span class="f">}</span>
<a name="207" /><span class="True">     207:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isfinited</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="208" /><span class="True">     208:</span>     <span class="m">return</span> <span class="b">__x</span> <span class="f">==</span> <span class="b">__x</span> <span class="f">&amp;&amp;</span> <span class="b">__builtin_fabs</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">!=</span> <span class="b">__builtin_inf</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="209" /><span class="True">     209:</span> <span class="f">}</span>
<a name="210" /><span class="True">     210:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isfinitel</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="211" /><span class="True">     211:</span>     <span class="m">return</span> <span class="b">__x</span> <span class="f">==</span> <span class="b">__x</span> <span class="f">&amp;&amp;</span> <span class="b">__builtin_fabsl</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">!=</span> <span class="b">__builtin_infl</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="212" /><span class="True">     212:</span> <span class="f">}</span>
<a name="213" /><span class="True">     213:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isinff</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="214" /><span class="True">     214:</span>     <span class="m">return</span> <span class="b">__builtin_fabsf</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">==</span> <span class="b">__builtin_inff</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="215" /><span class="True">     215:</span> <span class="f">}</span>
<a name="216" /><span class="True">     216:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isinfd</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="217" /><span class="True">     217:</span>     <span class="m">return</span> <span class="b">__builtin_fabs</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">==</span> <span class="b">__builtin_inf</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="218" /><span class="True">     218:</span> <span class="f">}</span>
<a name="219" /><span class="True">     219:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isinfl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="220" /><span class="True">     220:</span>     <span class="m">return</span> <span class="b">__builtin_fabsl</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">==</span> <span class="b">__builtin_infl</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="221" /><span class="True">     221:</span> <span class="f">}</span>
<a name="222" /><span class="True">     222:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnanf</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="223" /><span class="True">     223:</span>     <span class="m">return</span> <span class="b">__x</span> <span class="f">!=</span> <span class="b">__x</span><span class="f">;</span>
<a name="224" /><span class="True">     224:</span> <span class="f">}</span>
<a name="225" /><span class="True">     225:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnand</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="226" /><span class="True">     226:</span>     <span class="m">return</span> <span class="b">__x</span> <span class="f">!=</span> <span class="b">__x</span><span class="f">;</span>
<a name="227" /><span class="True">     227:</span> <span class="f">}</span>
<a name="228" /><span class="True">     228:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnanl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="229" /><span class="True">     229:</span>     <span class="m">return</span> <span class="b">__x</span> <span class="f">!=</span> <span class="b">__x</span><span class="f">;</span>
<a name="230" /><span class="True">     230:</span> <span class="f">}</span>
<a name="231" /><span class="True">     231:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitf</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="232" /><span class="True">     232:</span>     <span class="m">union</span> <span class="f">{</span> <span class="m">float</span> <span class="b">__f</span><span class="f">;</span> <span class="m">unsigned</span> <span class="m">int</span> <span class="b">__u</span><span class="f">;</span> <span class="f">}</span> <span class="b">__u</span><span class="f">;</span>
<a name="233" /><span class="True">     233:</span>     <span class="b">__u</span><span class="f">.</span><span class="b">__f</span> <span class="f">=</span> <span class="b">__x</span><span class="f">;</span>
<a name="234" /><span class="True">     234:</span>     <span class="m">return</span> <span class="f">(</span><span class="m">int</span><span class="f">)</span><span class="f">(</span><span class="b">__u</span><span class="f">.</span><span class="b">__u</span> <span class="f">&gt;&gt;</span> <span class="c">31</span><span class="f">)</span><span class="f">;</span>
<a name="235" /><span class="True">     235:</span> <span class="f">}</span>
<a name="236" /><span class="True">     236:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitd</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="237" /><span class="True">     237:</span>     <span class="m">union</span> <span class="f">{</span> <span class="m">double</span> <span class="b">__f</span><span class="f">;</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="m">long</span> <span class="b">__u</span><span class="f">;</span> <span class="f">}</span> <span class="b">__u</span><span class="f">;</span>
<a name="238" /><span class="True">     238:</span>     <span class="b">__u</span><span class="f">.</span><span class="b">__f</span> <span class="f">=</span> <span class="b">__x</span><span class="f">;</span>
<a name="239" /><span class="True">     239:</span>     <span class="m">return</span> <span class="f">(</span><span class="m">int</span><span class="f">)</span><span class="f">(</span><span class="b">__u</span><span class="f">.</span><span class="b">__u</span> <span class="f">&gt;&gt;</span> <span class="c">63</span><span class="f">)</span><span class="f">;</span>
<a name="240" /><span class="True">     240:</span> <span class="f">}</span>
<a name="241" /><span class="True">     241:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span> <span class="b">__i386__</span> <span class="f">||</span> <span class="b">defined</span> <a href="macros_ref.html#_X194ODZfNjRfX18w"><span class="b">__x86_64__</span></a>
<a name="242" /><span class="True">     242:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="243" /><span class="True">     243:</span>     <span class="m">union</span> <span class="f">{</span>
<a name="244" /><span class="True">     244:</span>         <span class="m">long</span> <span class="m">double</span> <span class="b">__ld</span><span class="f">;</span>
<a name="245" /><span class="True">     245:</span>         <span class="m">struct</span><span class="f">{</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="m">long</span> <span class="b">__m</span><span class="f">;</span> <span class="m">unsigned</span> <span class="m">short</span> <span class="b">__sexp</span><span class="f">;</span> <span class="f">}</span> <span class="b">__p</span><span class="f">;</span>
<a name="246" /><span class="True">     246:</span>     <span class="f">}</span> <span class="b">__u</span><span class="f">;</span>
<a name="247" /><span class="True">     247:</span>     <span class="b">__u</span><span class="f">.</span><span class="b">__ld</span> <span class="f">=</span> <span class="b">__x</span><span class="f">;</span>
<a name="248" /><span class="True">     248:</span>     <span class="m">return</span> <span class="f">(</span><span class="m">int</span><span class="f">)</span><span class="f">(</span><span class="b">__u</span><span class="f">.</span><span class="b">__p</span><span class="f">.</span><span class="b">__sexp</span> <span class="f">&gt;&gt;</span> <span class="c">15</span><span class="f">)</span><span class="f">;</span>
<a name="249" /><span class="True">     249:</span> <span class="f">}</span>
<a name="250" /><span class="False">     250:</span> <span class="f">#</span><span class="n">else</span>
<a name="251" /><span class="False">     251:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_signbitl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="252" /><span class="False">     252:</span>     <span class="m">union</span> <span class="f">{</span> <span class="m">long</span> <span class="m">double</span> <span class="b">__f</span><span class="f">;</span> <span class="m">unsigned</span> <span class="m">long</span> <span class="m">long</span> <span class="b">__u</span><span class="f">;</span><span class="f">}</span> <span class="b">__u</span><span class="f">;</span>
<a name="253" /><span class="False">     253:</span>     <span class="b">__u</span><span class="f">.</span><span class="b">__f</span> <span class="f">=</span> <span class="b">__x</span><span class="f">;</span>
<a name="254" /><span class="False">     254:</span>     <span class="m">return</span> <span class="f">(</span><span class="m">int</span><span class="f">)</span><span class="f">(</span><span class="b">__u</span><span class="f">.</span><span class="b">__u</span> <span class="f">&gt;&gt;</span> <span class="c">63</span><span class="f">)</span><span class="f">;</span>
<a name="255" /><span class="False">     255:</span> <span class="f">}</span>
<a name="256" /><span class="True">     256:</span> <span class="f">#</span><span class="n">endif</span>
<a name="257" /><span class="True">     257:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnormalf</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="258" /><span class="True">     258:</span>     <span class="m">return</span> <span class="b">__inline_isfinitef</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">__builtin_fabsf</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">&gt;=</span> <span class="b">__FLT_MIN__</span><span class="f">;</span>
<a name="259" /><span class="True">     259:</span> <span class="f">}</span>
<a name="260" /><span class="True">     260:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnormald</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="261" /><span class="True">     261:</span>     <span class="m">return</span> <span class="b">__inline_isfinited</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">__builtin_fabs</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">&gt;=</span> <span class="b">__DBL_MIN__</span><span class="f">;</span>
<a name="262" /><span class="True">     262:</span> <span class="f">}</span>
<a name="263" /><span class="True">     263:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">int</span> <span class="b">__inline_isnormall</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span> <span class="b">__x</span><span class="f">)</span> <span class="f">{</span>
<a name="264" /><span class="True">     264:</span>     <span class="m">return</span> <span class="b">__inline_isfinitel</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">__builtin_fabsl</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span> <span class="f">&gt;=</span> <span class="b">__LDBL_MIN__</span><span class="f">;</span>
<a name="265" /><span class="True">     265:</span> <span class="f">}</span>
<a name="266" /><span class="True">     266:</span>     
<a name="267" /><span class="False">     267:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* defined(__GNUC__) &amp;&amp; 0 == __FINITE_MATH_ONLY__ */</span>
<a name="268" /><span class="False">     268:</span> 
<a name="269" /><span class="False">     269:</span> <span class="k">/*  Implementations making function calls to fall back on when -ffast-math</span>
<a name="270" /><span class="False">     270:</span> <span class="k">    or similar is specified.  These are not available in iOS versions prior</span>
<a name="271" /><span class="False">     271:</span> <span class="k">    to 6.0.  If you need them, you must target that version or later.         */</span>
<a name="272" /><span class="False">     272:</span>     
<a name="273" /><span class="False">     273:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNub3JtYWxfMA__"><span class="b">isnormal</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                               \
<a name="274" /><span class="False">     274:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__isnormalf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>       \
<a name="275" /><span class="False">     275:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__isnormald</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>      \
<a name="276" /><span class="False">     276:</span>                                   <span class="f">:</span> <span class="b">__isnormall</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="277" /><span class="False">     277:</span>     
<a name="278" /><span class="False">     278:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNmaW5pdGVfMA__"><span class="b">isfinite</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                               \
<a name="279" /><span class="False">     279:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__isfinitef</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>       \
<a name="280" /><span class="False">     280:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__isfinited</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>      \
<a name="281" /><span class="False">     281:</span>                                   <span class="f">:</span> <span class="b">__isfinitel</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="282" /><span class="False">     282:</span>     
<a name="283" /><span class="False">     283:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNpbmZfMA__"><span class="b">isinf</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                  \
<a name="284" /><span class="False">     284:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__isinff</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>          \
<a name="285" /><span class="False">     285:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__isinfd</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>         \
<a name="286" /><span class="False">     286:</span>                                   <span class="f">:</span> <span class="b">__isinfl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="287" /><span class="False">     287:</span>     
<a name="288" /><span class="False">     288:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNuYW5fMA__"><span class="b">isnan</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                  \
<a name="289" /><span class="False">     289:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__isnanf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>          \
<a name="290" /><span class="False">     290:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__isnand</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>         \
<a name="291" /><span class="False">     291:</span>                                   <span class="f">:</span> <span class="b">__isnanl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="292" /><span class="False">     292:</span>     
<a name="293" /><span class="False">     293:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_c2lnbmJpdF8w"><span class="b">signbit</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>                                                \
<a name="294" /><span class="False">     294:</span>     <span class="f">(</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">float</span><span class="f">)</span>  <span class="f">?</span> <span class="b">__signbitf</span><span class="f">(</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>        \
<a name="295" /><span class="False">     295:</span>     <span class="f">:</span> <span class="m">sizeof</span><span class="f">(</span><span class="b">x</span><span class="f">)</span> <span class="f">==</span> <span class="m">sizeof</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <span class="f">?</span> <span class="b">__signbitd</span><span class="f">(</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span>       \
<a name="296" /><span class="False">     296:</span>                                   <span class="f">:</span> <span class="b">__signbitl</span><span class="f">(</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="297" /><span class="False">     297:</span>     
<a name="298" /><span class="False">     298:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isnormalf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="299" /><span class="False">     299:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isnormald</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="300" /><span class="False">     300:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isnormall</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="301" /><span class="False">     301:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isfinitef</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="302" /><span class="False">     302:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isfinited</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="303" /><span class="False">     303:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isfinitel</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="304" /><span class="False">     304:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isinff</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="305" /><span class="False">     305:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isinfd</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="306" /><span class="False">     306:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isinfl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="307" /><span class="False">     307:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isnanf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="308" /><span class="False">     308:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isnand</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="309" /><span class="False">     309:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__isnanl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="310" /><span class="False">     310:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__signbitf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="311" /><span class="False">     311:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__signbitd</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="312" /><span class="False">     312:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">__signbitl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="313" /><span class="False">     313:</span> 
<a name="314" /><span class="True">     314:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* defined(__GNUC__) &amp;&amp; 0 == __FINITE_MATH_ONLY__ */</span>
<a name="315" /><span class="True">     315:</span> 
<a name="316" /><span class="True">     316:</span> <span class="k">/******************************************************************************</span>
<a name="317" /><span class="True">     317:</span> <span class="k"> *                                                                            *</span>
<a name="318" /><span class="True">     318:</span> <span class="k"> *                              Math Functions                                *</span>
<a name="319" /><span class="True">     319:</span> <span class="k"> *                                                                            *</span>
<a name="320" /><span class="True">     320:</span> <span class="k"> ******************************************************************************/</span>
<a name="321" /><span class="True">     321:</span>     
<a name="322" /><span class="True">     322:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">acosf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="323" /><span class="True">     323:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">acos</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="324" /><span class="True">     324:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">acosl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="325" /><span class="True">     325:</span>     
<a name="326" /><span class="True">     326:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">asinf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="327" /><span class="True">     327:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">asin</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="328" /><span class="True">     328:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">asinl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="329" /><span class="True">     329:</span>     
<a name="330" /><span class="True">     330:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">atanf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="331" /><span class="True">     331:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">atan</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="332" /><span class="True">     332:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">atanl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="333" /><span class="True">     333:</span>     
<a name="334" /><span class="True">     334:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">atan2f</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="335" /><span class="True">     335:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">atan2</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="336" /><span class="True">     336:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">atan2l</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="337" /><span class="True">     337:</span>     
<a name="338" /><span class="True">     338:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">cosf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="339" /><span class="True">     339:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">cos</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="340" /><span class="True">     340:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">cosl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="341" /><span class="True">     341:</span>     
<a name="342" /><span class="True">     342:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">sinf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="343" /><span class="True">     343:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">sin</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="344" /><span class="True">     344:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">sinl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="345" /><span class="True">     345:</span>     
<a name="346" /><span class="True">     346:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">tanf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="347" /><span class="True">     347:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">tan</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="348" /><span class="True">     348:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">tanl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="349" /><span class="True">     349:</span>     
<a name="350" /><span class="True">     350:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">acoshf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="351" /><span class="True">     351:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">acosh</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="352" /><span class="True">     352:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">acoshl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="353" /><span class="True">     353:</span>     
<a name="354" /><span class="True">     354:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">asinhf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="355" /><span class="True">     355:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">asinh</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="356" /><span class="True">     356:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">asinhl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="357" /><span class="True">     357:</span>     
<a name="358" /><span class="True">     358:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">atanhf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="359" /><span class="True">     359:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">atanh</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="360" /><span class="True">     360:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">atanhl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="361" /><span class="True">     361:</span>     
<a name="362" /><span class="True">     362:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">coshf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="363" /><span class="True">     363:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">cosh</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="364" /><span class="True">     364:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">coshl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="365" /><span class="True">     365:</span>     
<a name="366" /><span class="True">     366:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">sinhf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="367" /><span class="True">     367:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">sinh</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="368" /><span class="True">     368:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">sinhl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="369" /><span class="True">     369:</span>     
<a name="370" /><span class="True">     370:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">tanhf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="371" /><span class="True">     371:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">tanh</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="372" /><span class="True">     372:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">tanhl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="373" /><span class="True">     373:</span>     
<a name="374" /><span class="True">     374:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">expf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="375" /><span class="True">     375:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">exp</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="376" /><span class="True">     376:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">expl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="377" /><span class="True">     377:</span> 
<a name="378" /><span class="True">     378:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">exp2f</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="379" /><span class="True">     379:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">exp2</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span> 
<a name="380" /><span class="True">     380:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">exp2l</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span> 
<a name="381" /><span class="True">     381:</span> 
<a name="382" /><span class="True">     382:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">expm1f</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="383" /><span class="True">     383:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">expm1</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span> 
<a name="384" /><span class="True">     384:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">expm1l</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span> 
<a name="385" /><span class="True">     385:</span> 
<a name="386" /><span class="True">     386:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">logf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="387" /><span class="True">     387:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">log</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="388" /><span class="True">     388:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">logl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="389" /><span class="True">     389:</span> 
<a name="390" /><span class="True">     390:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">log10f</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="391" /><span class="True">     391:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">log10</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="392" /><span class="True">     392:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">log10l</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="393" /><span class="True">     393:</span> 
<a name="394" /><span class="True">     394:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">log2f</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="395" /><span class="True">     395:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">log2</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="396" /><span class="True">     396:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">log2l</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="397" /><span class="True">     397:</span> 
<a name="398" /><span class="True">     398:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">log1pf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="399" /><span class="True">     399:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">log1p</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="400" /><span class="True">     400:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">log1pl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="401" /><span class="True">     401:</span> 
<a name="402" /><span class="True">     402:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">logbf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="403" /><span class="True">     403:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">logb</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="404" /><span class="True">     404:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">logbl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="405" /><span class="True">     405:</span> 
<a name="406" /><span class="True">     406:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">modff</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="407" /><span class="True">     407:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">modf</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="408" /><span class="True">     408:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">modfl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="409" /><span class="True">     409:</span> 
<a name="410" /><span class="True">     410:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">ldexpf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="411" /><span class="True">     411:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">ldexp</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="412" /><span class="True">     412:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">ldexpl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="413" /><span class="True">     413:</span> 
<a name="414" /><span class="True">     414:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">frexpf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="415" /><span class="True">     415:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">frexp</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="416" /><span class="True">     416:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">frexpl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="417" /><span class="True">     417:</span> 
<a name="418" /><span class="True">     418:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">ilogbf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="419" /><span class="True">     419:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">ilogb</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="420" /><span class="True">     420:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">ilogbl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="421" /><span class="True">     421:</span> 
<a name="422" /><span class="True">     422:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">scalbnf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="423" /><span class="True">     423:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">scalbn</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="424" /><span class="True">     424:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">scalbnl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="425" /><span class="True">     425:</span> 
<a name="426" /><span class="True">     426:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">scalblnf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">long</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="427" /><span class="True">     427:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">scalbln</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="428" /><span class="True">     428:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">scalblnl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">int</span><span class="f">)</span><span class="f">;</span>
<a name="429" /><span class="True">     429:</span> 
<a name="430" /><span class="True">     430:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">fabsf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="431" /><span class="True">     431:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">fabs</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="432" /><span class="True">     432:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">fabsl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="433" /><span class="True">     433:</span> 
<a name="434" /><span class="True">     434:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">cbrtf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="435" /><span class="True">     435:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">cbrt</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="436" /><span class="True">     436:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">cbrtl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="437" /><span class="True">     437:</span> 
<a name="438" /><span class="True">     438:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">hypotf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="439" /><span class="True">     439:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">hypot</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="440" /><span class="True">     440:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">hypotl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="441" /><span class="True">     441:</span> 
<a name="442" /><span class="True">     442:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">powf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="443" /><span class="True">     443:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">pow</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="444" /><span class="True">     444:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">powl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="445" /><span class="True">     445:</span> 
<a name="446" /><span class="True">     446:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">sqrtf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="447" /><span class="True">     447:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">sqrt</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="448" /><span class="True">     448:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">sqrtl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="449" /><span class="True">     449:</span> 
<a name="450" /><span class="True">     450:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">erff</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="451" /><span class="True">     451:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">erf</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="452" /><span class="True">     452:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">erfl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="453" /><span class="True">     453:</span> 
<a name="454" /><span class="True">     454:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">erfcf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="455" /><span class="True">     455:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">erfc</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="456" /><span class="True">     456:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">erfcl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="457" /><span class="True">     457:</span> 
<a name="458" /><span class="True">     458:</span> <span class="k">/*    lgammaf, lgamma, and lgammal are not thread-safe. The thread-safe</span>
<a name="459" /><span class="True">     459:</span> <span class="k">    variants lgammaf_r, lgamma_r, and lgammal_r are made available if</span>
<a name="460" /><span class="True">     460:</span> <span class="k">    you define the _REENTRANT symbol before including &lt;math.h&gt;                */</span>
<a name="461" /><span class="True">     461:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">lgammaf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="462" /><span class="True">     462:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">lgamma</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="463" /><span class="True">     463:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">lgammal</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="464" /><span class="True">     464:</span> 
<a name="465" /><span class="True">     465:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">tgammaf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="466" /><span class="True">     466:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">tgamma</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="467" /><span class="True">     467:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">tgammal</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="468" /><span class="True">     468:</span> 
<a name="469" /><span class="True">     469:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">ceilf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="470" /><span class="True">     470:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">ceil</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="471" /><span class="True">     471:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">ceill</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="472" /><span class="True">     472:</span> 
<a name="473" /><span class="True">     473:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">floorf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="474" /><span class="True">     474:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">floor</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="475" /><span class="True">     475:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">floorl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="476" /><span class="True">     476:</span> 
<a name="477" /><span class="True">     477:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">nearbyintf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="478" /><span class="True">     478:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">nearbyint</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="479" /><span class="True">     479:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">nearbyintl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="480" /><span class="True">     480:</span> 
<a name="481" /><span class="True">     481:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">rintf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="482" /><span class="True">     482:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">rint</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="483" /><span class="True">     483:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">rintl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="484" /><span class="True">     484:</span> 
<a name="485" /><span class="True">     485:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">lrintf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="486" /><span class="True">     486:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">lrint</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="487" /><span class="True">     487:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">lrintl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="488" /><span class="True">     488:</span> 
<a name="489" /><span class="True">     489:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">roundf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="490" /><span class="True">     490:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">round</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="491" /><span class="True">     491:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">roundl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="492" /><span class="True">     492:</span> 
<a name="493" /><span class="True">     493:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">lroundf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="494" /><span class="True">     494:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">lround</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="495" /><span class="True">     495:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">lroundl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="496" /><span class="True">     496:</span>     
<a name="497" /><span class="True">     497:</span> <span class="k">/*  long long is not part of C90. Make sure you are passing -std=c99 or</span>
<a name="498" /><span class="True">     498:</span> <span class="k">    -std=gnu99 or higher if you need these functions returning long longs     */</span>
<a name="499" /><span class="True">     499:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="f">(</span><a href="macros_ref.html#_X19EQVJXSU5fTk9fTE9OR19MT05HXzA_"><span class="b">__DARWIN_NO_LONG_LONG</span></a><span class="f">)</span>
<a name="500" /><span class="True">     500:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">long</span> <span class="m">int</span> <span class="b">llrintf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="501" /><span class="True">     501:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">long</span> <span class="m">int</span> <span class="b">llrint</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="502" /><span class="True">     502:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">long</span> <span class="m">int</span> <span class="b">llrintl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="503" /><span class="True">     503:</span> 
<a name="504" /><span class="True">     504:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">long</span> <span class="m">int</span> <span class="b">llroundf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="505" /><span class="True">     505:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">long</span> <span class="m">int</span> <span class="b">llround</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="506" /><span class="True">     506:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">long</span> <span class="m">int</span> <span class="b">llroundl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="507" /><span class="True">     507:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !(__DARWIN_NO_LONG_LONG) */</span>
<a name="508" /><span class="True">     508:</span> 
<a name="509" /><span class="True">     509:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">truncf</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="510" /><span class="True">     510:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">trunc</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="511" /><span class="True">     511:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">truncl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="512" /><span class="True">     512:</span> 
<a name="513" /><span class="True">     513:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">fmodf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="514" /><span class="True">     514:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">fmod</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="515" /><span class="True">     515:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">fmodl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="516" /><span class="True">     516:</span> 
<a name="517" /><span class="True">     517:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">remainderf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="518" /><span class="True">     518:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">remainder</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="519" /><span class="True">     519:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">remainderl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="520" /><span class="True">     520:</span> 
<a name="521" /><span class="True">     521:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">remquof</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="522" /><span class="True">     522:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">remquo</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="523" /><span class="True">     523:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">remquol</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="524" /><span class="True">     524:</span> 
<a name="525" /><span class="True">     525:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">copysignf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="526" /><span class="True">     526:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">copysign</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="527" /><span class="True">     527:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">copysignl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="528" /><span class="True">     528:</span> 
<a name="529" /><span class="True">     529:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">nanf</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="530" /><span class="True">     530:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">nan</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="531" /><span class="True">     531:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">nanl</span><span class="f">(</span><span class="m">const</span> <span class="m">char</span> <span class="f">*</span><span class="f">)</span><span class="f">;</span>
<a name="532" /><span class="True">     532:</span> 
<a name="533" /><span class="True">     533:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">nextafterf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="534" /><span class="True">     534:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">nextafter</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="535" /><span class="True">     535:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">nextafterl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="536" /><span class="True">     536:</span> 
<a name="537" /><span class="True">     537:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">nexttoward</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="538" /><span class="True">     538:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">nexttowardf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="539" /><span class="True">     539:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">nexttowardl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="540" /><span class="True">     540:</span> 
<a name="541" /><span class="True">     541:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">fdimf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="542" /><span class="True">     542:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">fdim</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="543" /><span class="True">     543:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">fdiml</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="544" /><span class="True">     544:</span> 
<a name="545" /><span class="True">     545:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">fmaxf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="546" /><span class="True">     546:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">fmax</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="547" /><span class="True">     547:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">fmaxl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="548" /><span class="True">     548:</span> 
<a name="549" /><span class="True">     549:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">fminf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="550" /><span class="True">     550:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">fmin</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="551" /><span class="True">     551:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">fminl</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="552" /><span class="True">     552:</span> 
<a name="553" /><span class="True">     553:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">fmaf</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">,</span> <span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="554" /><span class="True">     554:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">fma</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="555" /><span class="True">     555:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">fmal</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">long</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="556" /><span class="True">     556:</span> 
<a name="557" /><span class="True">     557:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNncmVhdGVyXzA_"><span class="b">isgreater</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">__builtin_isgreater</span><span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">)</span>
<a name="558" /><span class="True">     558:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNncmVhdGVyZXF1YWxfMA__"><span class="b">isgreaterequal</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">__builtin_isgreaterequal</span><span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">)</span>
<a name="559" /><span class="True">     559:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNsZXNzXzA_"><span class="b">isless</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">__builtin_isless</span><span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">)</span>
<a name="560" /><span class="True">     560:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNsZXNzZXF1YWxfMA__"><span class="b">islessequal</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">__builtin_islessequal</span><span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">)</span>
<a name="561" /><span class="True">     561:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXNsZXNzZ3JlYXRlcl8w"><span class="b">islessgreater</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">__builtin_islessgreater</span><span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">)</span>
<a name="562" /><span class="True">     562:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_aXN1bm9yZGVyZWRfMA__"><span class="b">isunordered</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span> <span class="b">y</span><span class="f">)</span> <span class="b">__builtin_isunordered</span><span class="f">(</span><span class="f">(</span><span class="b">x</span><span class="f">)</span><span class="f">,</span><span class="f">(</span><span class="b">y</span><span class="f">)</span><span class="f">)</span>
<a name="563" /><span class="True">     563:</span> 
<a name="564" /><span class="True">     564:</span> <span class="k">/* Legacy BSD API: please use C99 INFINITY macro instead.                     */</span>
<a name="565" /><span class="True">     565:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">__inff</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="566" /><span class="True">     566:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">__inf</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="567" /><span class="True">     567:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">__infl</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="568" /><span class="True">     568:</span> <span class="k">/* Implementation detail; please use the standard C NAN macro instead.        */</span>
<a name="569" /><span class="True">     569:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">__nan</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="570" /><span class="True">     570:</span> 
<a name="571" /><span class="True">     571:</span> <span class="k">/******************************************************************************</span>
<a name="572" /><span class="True">     572:</span> <span class="k"> *  Reentrant variants of lgamma[fl]                                          *</span>
<a name="573" /><span class="True">     573:</span> <span class="k"> ******************************************************************************/</span>
<a name="574" /><span class="True">     574:</span> 
<a name="575" /><span class="True">     575:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="macros_ref.html#_X1JFRU5UUkFOVF8w"><span class="b">_REENTRANT</span></a>
<a name="576" /><span class="True">     576:</span> <span class="k">/*  Reentrant variants of the lgamma[fl] functions.                           */</span>
<a name="577" /><span class="True">     577:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">lgammaf_r</span><span class="f">(</span><span class="m">float</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfM18xXzA_"><span class="b">__IPHONE_3_1</span></a><span class="f">)</span><span class="f">;</span>
<a name="578" /><span class="True">     578:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">lgamma_r</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfM18xXzA_"><span class="b">__IPHONE_3_1</span></a><span class="f">)</span><span class="f">;</span>
<a name="579" /><span class="True">     579:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">double</span> <span class="b">lgammal_r</span><span class="f">(</span><span class="m">long</span> <span class="m">double</span><span class="f">,</span> <span class="m">int</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfNl8w"><span class="b">__MAC_10_6</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfM18xXzA_"><span class="b">__IPHONE_3_1</span></a><span class="f">)</span><span class="f">;</span>
<a name="580" /><span class="True">     580:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _REENTRANT */</span>
<a name="581" /><span class="True">     581:</span> 
<a name="582" /><span class="True">     582:</span> <span class="k">/******************************************************************************</span>
<a name="583" /><span class="True">     583:</span> <span class="k"> *  Apple extensions to the C standard                                        *</span>
<a name="584" /><span class="True">     584:</span> <span class="k"> ******************************************************************************/</span>
<a name="585" /><span class="True">     585:</span> 
<a name="586" /><span class="True">     586:</span> <span class="k">/*  Because these functions are not specified by any relevant standard, they</span>
<a name="587" /><span class="True">     587:</span> <span class="k">    are prefixed with __, which places them in the implementor&apos;s namespace, so</span>
<a name="588" /><span class="True">     588:</span> <span class="k">    they should not conflict with any developer or third-party code.  If they</span>
<a name="589" /><span class="True">     589:</span> <span class="k">    are added to a relevant standard in the future, un-prefixed names may be</span>
<a name="590" /><span class="True">     590:</span> <span class="k">    added to the library and they may be moved out of this section of the</span>
<a name="591" /><span class="True">     591:</span> <span class="k">    header.                                                                   </span>
<a name="592" /><span class="True">     592:</span> <span class="k"> </span>
<a name="593" /><span class="True">     593:</span> <span class="k">    Because these functions are non-standard, they may not be available on non-</span>
<a name="594" /><span class="True">     594:</span> <span class="k">    Apple platforms.                                                          */</span>
<a name="595" /><span class="True">     595:</span> 
<a name="596" /><span class="True">     596:</span> <span class="k">/*  __exp10(x) returns 10**x.  Edge cases match those of exp( ) and exp2( ).  */</span>
<a name="597" /><span class="True">     597:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">__exp10f</span><span class="f">(</span><span class="m">float</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="598" /><span class="True">     598:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">__exp10</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="599" /><span class="True">     599:</span> 
<a name="600" /><span class="True">     600:</span> <span class="k">/*  __sincos(x,sinp,cosp) computes the sine and cosine of x with a single</span>
<a name="601" /><span class="True">     601:</span> <span class="k">    function call, storing the sine in the memory pointed to by sinp, and</span>
<a name="602" /><span class="True">     602:</span> <span class="k">    the cosine in the memory pointed to by cosp. Edge cases match those of</span>
<a name="603" /><span class="True">     603:</span> <span class="k">    separate calls to sin( ) and cos( ).                                      */</span>
<a name="604" /><span class="True">     604:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincosf</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span><span class="f">;</span>
<a name="605" /><span class="True">     605:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincos</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span><span class="f">;</span>
<a name="606" /><span class="True">     606:</span> 
<a name="607" /><span class="True">     607:</span> <span class="k">/*  __sinpi(x) returns the sine of pi times x; __cospi(x) and __tanpi(x) return</span>
<a name="608" /><span class="True">     608:</span> <span class="k">    the cosine and tangent, respectively.  These functions can produce a more</span>
<a name="609" /><span class="True">     609:</span> <span class="k">    accurate answer than expressions of the form sin(M_PI * x) because they</span>
<a name="610" /><span class="True">     610:</span> <span class="k">    avoid any loss of precision that results from rounding the result of the</span>
<a name="611" /><span class="True">     611:</span> <span class="k">    multiplication M_PI * x.  They may also be significantly more efficient in</span>
<a name="612" /><span class="True">     612:</span> <span class="k">    some cases because the argument reduction for these functions is easier</span>
<a name="613" /><span class="True">     613:</span> <span class="k">    to compute.  Consult the man pages for edge case details.                 */</span>
<a name="614" /><span class="True">     614:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">__cospif</span><span class="f">(</span><span class="m">float</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="615" /><span class="True">     615:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">__cospi</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="616" /><span class="True">     616:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">__sinpif</span><span class="f">(</span><span class="m">float</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="617" /><span class="True">     617:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">__sinpi</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="618" /><span class="True">     618:</span> <span class="m">extern</span> <span class="m">float</span> <span class="b">__tanpif</span><span class="f">(</span><span class="m">float</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="619" /><span class="True">     619:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">__tanpi</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <a href="macros_ref.html#_X19JUEhPTkVfN18wXzA_"><span class="b">__IPHONE_7_0</span></a><span class="f">)</span><span class="f">;</span>
<a name="620" /><span class="True">     620:</span> 
<a name="621" /><span class="False">     621:</span> <span class="f">#</span><span class="n">if</span> <span class="f">(</span><span class="b">defined</span> <span class="b">__MAC_OS_X_VERSION_MIN_REQUIRED</span> <span class="f">&amp;&amp;</span> <span class="b">__MAC_OS_X_VERSION_MIN_REQUIRED</span> <span class="f">&lt;</span> <span class="c">1090</span><span class="f">)</span> <span class="f">||</span> \
<a name="622" /><span class="False">     622:</span>     <span class="f">(</span><span class="b">defined</span> <span class="b">__IPHONE_OS_VERSION_MIN_REQUIRED</span> <span class="f">&amp;&amp;</span> <span class="b">__IPHONE_OS_VERSION_MIN_REQUIRED</span> <span class="f">&lt;</span> <span class="c">70000</span><span class="f">)</span>
<a name="623" /><span class="False">     623:</span> <span class="k">/*  __sincos and __sincosf were introduced in OSX 10.9 and iOS 7.0.  When</span>
<a name="624" /><span class="False">     624:</span> <span class="k">    targeting an older system, we simply split them up into discrete calls</span>
<a name="625" /><span class="False">     625:</span> <span class="k">    to sin( ) and cos( ).                                                     */</span>
<a name="626" /><span class="False">     626:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincosf</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span> <span class="f">{</span>
<a name="627" /><span class="False">     627:</span>   <span class="f">*</span><span class="b">__sinp</span> <span class="f">=</span> <span class="b">sinf</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="628" /><span class="False">     628:</span>   <span class="f">*</span><span class="b">__cosp</span> <span class="f">=</span> <span class="b">cosf</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="629" /><span class="False">     629:</span> <span class="f">}</span>
<a name="630" /><span class="False">     630:</span> 
<a name="631" /><span class="False">     631:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincos</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span> <span class="f">{</span>
<a name="632" /><span class="False">     632:</span>   <span class="f">*</span><span class="b">__sinp</span> <span class="f">=</span> <span class="b">sin</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="633" /><span class="False">     633:</span>   <span class="f">*</span><span class="b">__cosp</span> <span class="f">=</span> <span class="b">cos</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="634" /><span class="False">     634:</span> <span class="f">}</span>
<a name="635" /><span class="True">     635:</span> <span class="f">#</span><span class="n">else</span>
<a name="636" /><span class="True">     636:</span> <span class="k">/*  __sincospi(x,sinp,cosp) computes the sine and cosine of pi times x with a</span>
<a name="637" /><span class="True">     637:</span> <span class="k">    single function call, storing the sine in the memory pointed to by sinp,</span>
<a name="638" /><span class="True">     638:</span> <span class="k">    and the cosine in the memory pointed to by cosp.  Edge cases match those</span>
<a name="639" /><span class="True">     639:</span> <span class="k">    of separate calls to __sinpi( ) and __cospi( ), and are documented in the</span>
<a name="640" /><span class="True">     640:</span> <span class="k">    man pages.</span>
<a name="641" /><span class="True">     641:</span> <span class="k"> </span>
<a name="642" /><span class="True">     642:</span> <span class="k">    These functions were introduced in OSX 10.9 and iOS 7.0.  Because they are</span>
<a name="643" /><span class="True">     643:</span> <span class="k">    implemented as header inlines, weak-linking does not function as normal,</span>
<a name="644" /><span class="True">     644:</span> <span class="k">    and they are simply hidden when targeting earlier OS versions.            */</span>
<a name="645" /><span class="True">     645:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincospif</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span><span class="f">;</span>
<a name="646" /><span class="True">     646:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincospi</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span><span class="f">;</span>
<a name="647" /><span class="True">     647:</span> 
<a name="648" /><span class="True">     648:</span> <span class="k">/*  Implementation details of __sincos and __sincospi allowing them to return</span>
<a name="649" /><span class="True">     649:</span> <span class="k">    two results while allowing the compiler to optimize away unnecessary load-</span>
<a name="650" /><span class="True">     650:</span> <span class="k">    store traffic.  Although these interfaces are exposed in the math.h header</span>
<a name="651" /><span class="True">     651:</span> <span class="k">    to allow compilers to generate better code, users should call __sincos[f]</span>
<a name="652" /><span class="True">     652:</span> <span class="k">    and __sincospi[f] instead and allow the compiler to emit these calls.     */</span>
<a name="653" /><span class="True">     653:</span> <span class="m">struct</span> <span class="b">__float2</span> <span class="f">{</span> <span class="m">float</span> <span class="b">__sinval</span><span class="f">;</span> <span class="m">float</span> <span class="b">__cosval</span><span class="f">;</span> <span class="f">}</span><span class="f">;</span>
<a name="654" /><span class="True">     654:</span> <span class="m">struct</span> <span class="b">__double2</span> <span class="f">{</span> <span class="m">double</span> <span class="b">__sinval</span><span class="f">;</span> <span class="m">double</span> <span class="b">__cosval</span><span class="f">;</span> <span class="f">}</span><span class="f">;</span>
<a name="655" /><span class="True">     655:</span> 
<a name="656" /><span class="True">     656:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">__float2</span> <span class="b">__sincosf_stret</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="657" /><span class="True">     657:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">__double2</span> <span class="b">__sincos_stret</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="658" /><span class="True">     658:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">__float2</span> <span class="b">__sincospif_stret</span><span class="f">(</span><span class="m">float</span><span class="f">)</span><span class="f">;</span>
<a name="659" /><span class="True">     659:</span> <span class="m">extern</span> <span class="m">struct</span> <span class="b">__double2</span> <span class="b">__sincospi_stret</span><span class="f">(</span><span class="m">double</span><span class="f">)</span><span class="f">;</span>
<a name="660" /><span class="True">     660:</span> 
<a name="661" /><span class="True">     661:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincosf</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span> <span class="f">{</span>
<a name="662" /><span class="True">     662:</span>     <span class="m">const</span> <span class="m">struct</span> <span class="b">__float2</span> <span class="b">__stret</span> <span class="f">=</span> <span class="b">__sincosf_stret</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="663" /><span class="True">     663:</span>     <span class="f">*</span><span class="b">__sinp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__sinval</span><span class="f">;</span> <span class="f">*</span><span class="b">__cosp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__cosval</span><span class="f">;</span>
<a name="664" /><span class="True">     664:</span> <span class="f">}</span>
<a name="665" /><span class="True">     665:</span> 
<a name="666" /><span class="True">     666:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincos</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span> <span class="f">{</span>
<a name="667" /><span class="True">     667:</span>     <span class="m">const</span> <span class="m">struct</span> <span class="b">__double2</span> <span class="b">__stret</span> <span class="f">=</span> <span class="b">__sincos_stret</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="668" /><span class="True">     668:</span>     <span class="f">*</span><span class="b">__sinp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__sinval</span><span class="f">;</span> <span class="f">*</span><span class="b">__cosp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__cosval</span><span class="f">;</span>
<a name="669" /><span class="True">     669:</span> <span class="f">}</span>
<a name="670" /><span class="True">     670:</span> 
<a name="671" /><span class="True">     671:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincospif</span><span class="f">(</span><span class="m">float</span> <span class="b">__x</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">float</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span> <span class="f">{</span>
<a name="672" /><span class="True">     672:</span>     <span class="m">const</span> <span class="m">struct</span> <span class="b">__float2</span> <span class="b">__stret</span> <span class="f">=</span> <span class="b">__sincospif_stret</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="673" /><span class="True">     673:</span>     <span class="f">*</span><span class="b">__sinp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__sinval</span><span class="f">;</span> <span class="f">*</span><span class="b">__cosp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__cosval</span><span class="f">;</span>
<a name="674" /><span class="True">     674:</span> <span class="f">}</span>
<a name="675" /><span class="True">     675:</span> 
<a name="676" /><span class="True">     676:</span> <a href="macros_ref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a> <span class="m">void</span> <span class="b">__sincospi</span><span class="f">(</span><span class="m">double</span> <span class="b">__x</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__sinp</span><span class="f">,</span> <span class="m">double</span> <span class="f">*</span><span class="b">__cosp</span><span class="f">)</span> <span class="f">{</span>
<a name="677" /><span class="True">     677:</span>     <span class="m">const</span> <span class="m">struct</span> <span class="b">__double2</span> <span class="b">__stret</span> <span class="f">=</span> <span class="b">__sincospi_stret</span><span class="f">(</span><span class="b">__x</span><span class="f">)</span><span class="f">;</span>
<a name="678" /><span class="True">     678:</span>     <span class="f">*</span><span class="b">__sinp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__sinval</span><span class="f">;</span> <span class="f">*</span><span class="b">__cosp</span> <span class="f">=</span> <span class="b">__stret</span><span class="f">.</span><span class="b">__cosval</span><span class="f">;</span>
<a name="679" /><span class="True">     679:</span> <span class="f">}</span>
<a name="680" /><span class="True">     680:</span> <span class="f">#</span><span class="n">endif</span>
<a name="681" /><span class="True">     681:</span> 
<a name="682" /><span class="True">     682:</span> <span class="k">/******************************************************************************</span>
<a name="683" /><span class="True">     683:</span> <span class="k"> *  POSIX/UNIX extensions to the C standard                                   *</span>
<a name="684" /><span class="True">     684:</span> <span class="k"> ******************************************************************************/</span>
<a name="685" /><span class="True">     685:</span> 
<a name="686" /><span class="True">     686:</span> <span class="f">#</span><span class="n">if</span> <a href="macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a> <span class="f">&gt;=</span> <span class="c">199506L</span>
<a name="687" /><span class="True">     687:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">j0</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span><a href="macros_ref.html#_X19JUEhPTkVfM18yXzA_"><span class="b">__IPHONE_3_2</span></a><span class="f">)</span><span class="f">;</span> 
<a name="688" /><span class="True">     688:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">j1</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span><a href="macros_ref.html#_X19JUEhPTkVfM18yXzA_"><span class="b">__IPHONE_3_2</span></a><span class="f">)</span><span class="f">;</span> 
<a name="689" /><span class="True">     689:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">jn</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span><a href="macros_ref.html#_X19JUEhPTkVfM18yXzA_"><span class="b">__IPHONE_3_2</span></a><span class="f">)</span><span class="f">;</span> 
<a name="690" /><span class="True">     690:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">y0</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span><a href="macros_ref.html#_X19JUEhPTkVfM18yXzA_"><span class="b">__IPHONE_3_2</span></a><span class="f">)</span><span class="f">;</span> 
<a name="691" /><span class="True">     691:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">y1</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span><a href="macros_ref.html#_X19JUEhPTkVfM18yXzA_"><span class="b">__IPHONE_3_2</span></a><span class="f">)</span><span class="f">;</span> 
<a name="692" /><span class="True">     692:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">yn</span><span class="f">(</span><span class="m">int</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX1NUQVJUSU5HXzA_"><span class="b">__OSX_AVAILABLE_STARTING</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span><a href="macros_ref.html#_X19JUEhPTkVfM18yXzA_"><span class="b">__IPHONE_3_2</span></a><span class="f">)</span><span class="f">;</span> 
<a name="693" /><span class="True">     693:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">scalb</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span><span class="f">;</span> 
<a name="694" /><span class="True">     694:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">signgam</span><span class="f">;</span>
<a name="695" /><span class="True">     695:</span> 
<a name="696" /><span class="True">     696:</span> <span class="k">/*  Even though these might be more useful as long doubles, POSIX requires</span>
<a name="697" /><span class="True">     697:</span> <span class="k">    that they be double-precision literals.                                   */</span>
<a name="698" /><span class="True">     698:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9FXzA_"><span class="b">M_E</span></a>         <span class="c">2.71828182845904523536028747135266250</span>   <span class="k">/* e              */</span>
<a name="699" /><span class="True">     699:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9MT0cyRV8w"><span class="b">M_LOG2E</span></a>     <span class="c">1.44269504088896340735992468100189214</span>   <span class="k">/* log2(e)        */</span>
<a name="700" /><span class="True">     700:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9MT0cxMEVfMA__"><span class="b">M_LOG10E</span></a>    <span class="c">0.434294481903251827651128918916605082</span>  <span class="k">/* log10(e)       */</span>
<a name="701" /><span class="True">     701:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9MTjJfMA__"><span class="b">M_LN2</span></a>       <span class="c">0.693147180559945309417232121458176568</span>  <span class="k">/* loge(2)        */</span>
<a name="702" /><span class="True">     702:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9MTjEwXzA_"><span class="b">M_LN10</span></a>      <span class="c">2.30258509299404568401799145468436421</span>   <span class="k">/* loge(10)       */</span>
<a name="703" /><span class="True">     703:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9QSV8w"><span class="b">M_PI</span></a>        <span class="c">3.14159265358979323846264338327950288</span>   <span class="k">/* pi             */</span>
<a name="704" /><span class="True">     704:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9QSV8yXzA_"><span class="b">M_PI_2</span></a>      <span class="c">1.57079632679489661923132169163975144</span>   <span class="k">/* pi/2           */</span>
<a name="705" /><span class="True">     705:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9QSV80XzA_"><span class="b">M_PI_4</span></a>      <span class="c">0.785398163397448309615660845819875721</span>  <span class="k">/* pi/4           */</span>
<a name="706" /><span class="True">     706:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV8xX1BJXzA_"><span class="b">M_1_PI</span></a>      <span class="c">0.318309886183790671537767526745028724</span>  <span class="k">/* 1/pi           */</span>
<a name="707" /><span class="True">     707:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV8yX1BJXzA_"><span class="b">M_2_PI</span></a>      <span class="c">0.636619772367581343075535053490057448</span>  <span class="k">/* 2/pi           */</span>
<a name="708" /><span class="True">     708:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV8yX1NRUlRQSV8w"><span class="b">M_2_SQRTPI</span></a>  <span class="c">1.12837916709551257389615890312154517</span>   <span class="k">/* 2/sqrt(pi)     */</span>
<a name="709" /><span class="True">     709:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9TUVJUMl8w"><span class="b">M_SQRT2</span></a>     <span class="c">1.41421356237309504880168872420969808</span>   <span class="k">/* sqrt(2)        */</span>
<a name="710" /><span class="True">     710:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TV9TUVJUMV8yXzA_"><span class="b">M_SQRT1_2</span></a>   <span class="c">0.707106781186547524400844362104849039</span>  <span class="k">/* 1/sqrt(2)      */</span>
<a name="711" /><span class="True">     711:</span> 
<a name="712" /><span class="True">     712:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_TUFYRkxPQVRfMA__"><span class="b">MAXFLOAT</span></a>    <span class="c">0x1.fffffep</span><span class="f">+</span><span class="c">127f</span>
<a name="713" /><span class="True">     713:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* __DARWIN_C_LEVEL &gt;= 199506L */</span>
<a name="714" /><span class="True">     714:</span> 
<a name="715" /><span class="True">     715:</span> <span class="k">/*  Long-double versions of M_E, etc for convenience on Intel where long-</span>
<a name="716" /><span class="True">     716:</span> <span class="k">    double is not the same as double.  Define __MATH_LONG_DOUBLE_CONSTANTS</span>
<a name="717" /><span class="True">     717:</span> <span class="k">    to make these constants available.                                        */</span>
<a name="718" /><span class="False">     718:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span> <span class="b">__MATH_LONG_DOUBLE_CONSTANTS</span>
<a name="719" /><span class="False">     719:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_El</span>        <span class="c">0xa.df85458a2bb4a9bp</span><span class="f">-</span><span class="c">2L</span>
<a name="720" /><span class="False">     720:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_LOG2El</span>    <span class="c">0xb.8aa3b295c17f0bcp</span><span class="f">-</span><span class="c">3L</span>
<a name="721" /><span class="False">     721:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_LOG10El</span>   <span class="c">0xd.e5bd8a937287195p</span><span class="f">-</span><span class="c">5L</span>
<a name="722" /><span class="False">     722:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_LN2l</span>      <span class="c">0xb.17217f7d1cf79acp</span><span class="f">-</span><span class="c">4L</span>
<a name="723" /><span class="False">     723:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_LN10l</span>     <span class="c">0x9.35d8dddaaa8ac17p</span><span class="f">-</span><span class="c">2L</span>
<a name="724" /><span class="False">     724:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_PIl</span>       <span class="c">0xc.90fdaa22168c235p</span><span class="f">-</span><span class="c">2L</span>
<a name="725" /><span class="False">     725:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_PI_2l</span>     <span class="c">0xc.90fdaa22168c235p</span><span class="f">-</span><span class="c">3L</span>
<a name="726" /><span class="False">     726:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_PI_4l</span>     <span class="c">0xc.90fdaa22168c235p</span><span class="f">-</span><span class="c">4L</span>
<a name="727" /><span class="False">     727:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_1_PIl</span>     <span class="c">0xa.2f9836e4e44152ap</span><span class="f">-</span><span class="c">5L</span>
<a name="728" /><span class="False">     728:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_2_PIl</span>     <span class="c">0xa.2f9836e4e44152ap</span><span class="f">-</span><span class="c">4L</span>
<a name="729" /><span class="False">     729:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_2_SQRTPIl</span> <span class="c">0x9.06eba8214db688dp</span><span class="f">-</span><span class="c">3L</span>
<a name="730" /><span class="False">     730:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_SQRT2l</span>    <span class="c">0xb.504f333f9de6484p</span><span class="f">-</span><span class="c">3L</span>
<a name="731" /><span class="False">     731:</span> <span class="f">#</span><span class="n">define</span> <span class="b">M_SQRT1_2l</span>  <span class="c">0xb.504f333f9de6484p</span><span class="f">-</span><span class="c">4L</span>
<a name="732" /><span class="True">     732:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* defined __MATH_LONG_DOUBLE_CONSTANTS */</span>
<a name="733" /><span class="True">     733:</span> 
<a name="734" /><span class="True">     734:</span> <span class="k">/******************************************************************************</span>
<a name="735" /><span class="True">     735:</span> <span class="k"> *  Legacy BSD extensions to the C standard                                   *</span>
<a name="736" /><span class="True">     736:</span> <span class="k"> ******************************************************************************/</span>
<a name="737" /><span class="True">     737:</span> 
<a name="738" /><span class="True">     738:</span> <span class="f">#</span><span class="n">if</span> <a href="macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a> <span class="f">&gt;=</span> <a href="macros_ref.html#_X19EQVJXSU5fQ19GVUxMXzA_"><span class="b">__DARWIN_C_FULL</span></a>
<a name="739" /><span class="True">     739:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfU05BTl8w"><span class="b">FP_SNAN</span></a>        <a href="macros_noref.html#_RlBfTkFOXzA_"><span class="b">FP_NAN</span></a>
<a name="740" /><span class="True">     740:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_RlBfUU5BTl8w"><span class="b">FP_QNAN</span></a>        <a href="macros_noref.html#_RlBfTkFOXzA_"><span class="b">FP_NAN</span></a>
<a name="741" /><span class="True">     741:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_SFVHRV8w"><span class="b">HUGE</span></a>        <a href="macros_noref.html#_TUFYRkxPQVRfMA__"><span class="b">MAXFLOAT</span></a>
<a name="742" /><span class="True">     742:</span> <span class="f">#</span><span class="n">define</span> <a href="macros_noref.html#_WF9UTE9TU18w"><span class="b">X_TLOSS</span></a>        <span class="c">1.41484755040568800000e+16</span> 
<a name="743" /><span class="True">     743:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_RE9NQUlOXzA_"><span class="b">DOMAIN</span></a>        <span class="c">1</span>
<a name="744" /><span class="True">     744:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_U0lOR18w"><span class="b">SING</span></a>        <span class="c">2</span>
<a name="745" /><span class="True">     745:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_T1ZFUkZMT1dfMA__"><span class="b">OVERFLOW</span></a>    <span class="c">3</span>
<a name="746" /><span class="True">     746:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_VU5ERVJGTE9XXzA_"><span class="b">UNDERFLOW</span></a>    <span class="c">4</span>
<a name="747" /><span class="True">     747:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_VExPU1NfMA__"><span class="b">TLOSS</span></a>        <span class="c">5</span>
<a name="748" /><span class="True">     748:</span> <span class="f">#</span><span class="n">define</span>    <a href="macros_noref.html#_UExPU1NfMA__"><span class="b">PLOSS</span></a>        <span class="c">6</span>
<a name="749" /><span class="True">     749:</span> 
<a name="750" /><span class="True">     750:</span> <span class="k">/* Legacy BSD API: please use C99 lrint( ) instead.                           */</span>
<a name="751" /><span class="True">     751:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">rinttol</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="752" /><span class="True">     752:</span> <span class="k">/* Legacy BSD API: please use C99 lround( ) instead.                          */</span>
<a name="753" /><span class="True">     753:</span> <span class="m">extern</span> <span class="m">long</span> <span class="m">int</span> <span class="b">roundtol</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="754" /><span class="True">     754:</span> <span class="k">/* Legacy BSD API: please use C99 remainder( ) instead.                       */</span>
<a name="755" /><span class="True">     755:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">drem</span><span class="f">(</span><span class="m">double</span><span class="f">,</span> <span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="756" /><span class="True">     756:</span> <span class="k">/* Legacy BSD API: please use C99 isfinite( ) instead.                        */</span>
<a name="757" /><span class="True">     757:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">finite</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="758" /><span class="True">     758:</span> <span class="k">/* Legacy BSD API: please use C99 tgamma( ) instead.                          */</span>
<a name="759" /><span class="True">     759:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">gamma</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="760" /><span class="True">     760:</span> <span class="k">/* Legacy BSD API: please use C99 frexp( ) instead.                           */</span>
<a name="761" /><span class="True">     761:</span> <span class="m">extern</span> <span class="m">double</span> <span class="b">significand</span><span class="f">(</span><span class="m">double</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="762" /><span class="True">     762:</span> 
<a name="763" /><span class="True">     763:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span> <span class="b">__cplusplus</span>
<a name="764" /><span class="True">     764:</span> <span class="m">struct</span> <span class="b">exception</span> <span class="f">{</span>
<a name="765" /><span class="True">     765:</span>     <span class="m">int</span> <span class="b">type</span><span class="f">;</span>
<a name="766" /><span class="True">     766:</span>     <span class="m">char</span> <span class="f">*</span><span class="b">name</span><span class="f">;</span>
<a name="767" /><span class="True">     767:</span>     <span class="m">double</span> <span class="b">arg1</span><span class="f">;</span>
<a name="768" /><span class="True">     768:</span>     <span class="m">double</span> <span class="b">arg2</span><span class="f">;</span>
<a name="769" /><span class="True">     769:</span>     <span class="m">double</span> <span class="b">retval</span><span class="f">;</span>
<a name="770" /><span class="True">     770:</span> <span class="f">}</span><span class="f">;</span>
<a name="771" /><span class="True">     771:</span> <span class="k">/* Legacy API: does not do anything useful.                                   */</span>
<a name="772" /><span class="True">     772:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">matherr</span><span class="f">(</span><span class="m">struct</span> <span class="b">exception</span> <span class="f">*</span><span class="f">)</span> <a href="macros_ref.html#_X19PU1hfQVZBSUxBQkxFX0JVVF9ERVBSRUNBVEVEXzA_"><span class="b">__OSX_AVAILABLE_BUT_DEPRECATED</span></a><span class="f">(</span><a href="macros_ref.html#_X19NQUNfMTBfMF8w"><span class="b">__MAC_10_0</span></a><span class="f">,</span> <a href="macros_ref.html#_X19NQUNfMTBfOV8w"><span class="b">__MAC_10_9</span></a><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">,</span> <span class="b">__IPHONE_NA</span><span class="f">)</span><span class="f">;</span>
<a name="773" /><span class="True">     773:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !defined __cplusplus */</span>
<a name="774" /><span class="True">     774:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* __DARWIN_C_LEVEL &gt;= __DARWIN_C_FULL */</span>
<a name="775" /><span class="True">     775:</span> 
<a name="776" /><span class="True">     776:</span> <a href="macros_ref.html#_X19FTkRfREVDTFNfMA__"><span class="b">__END_DECLS</span></a>
<a name="777" /><span class="True">     777:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* __MATH_H__ */</span>
<a name="778" /><span class="True">     778:</span> </pre>
  </body>
</html>
